// Type your code here, or load an example.

// movq    (%rdi), %rax
// movq    %rax, (%rsi)
// ret

// typedef long src_t;
// typedef long dst_t;
// long ex3_4_1(src_t* sp ,dst_t* dp)
// {
//     *dp = (dst_t)* sp;
// }

// ex3_4_2:
//         movsbl  (%rdi), %eax         char型转int
//         movl    %eax, (%rsi)         存4字节
//         ret

// typedef char src_t;
// typedef int dst_t;
// long ex3_4_2(src_t* sp ,dst_t* dp)
// {
//     *dp = (dst_t)*sp;
// }

// ex3_4_3:
//         movsbl  (%rdi), %eax
//         movl    %eax, (%rsi)
//         ret
// typedef char src_t;
// typedef unsigned dst_t;
// long ex3_4_3(src_t* sp ,dst_t* dp)
// {
//     *dp = (dst_t)*sp;
// }

// ex3_4_4:
//         movl    (%rdi), %eax         传送4字节
//         movb    %al, (%rsi)          传送1字节
//         ret

// typedef int src_t;
// typedef char dst_t;

// long ex3_4_4(src_t* sp ,dst_t* dp)
// {
//     *dp = (dst_t)*sp;
// }

// ex3_4_5:
//         movl    (%rdi), %eax   传送4字节
//         movb    %al, (%rsi)    传送1字节
//         ret

// typedef unsigned src_t;
// typedef unsigned char dst_t;

// long ex3_4_5(src_t* sp ,dst_t* dp)
// {
//     *dp = (dst_t)*sp;
// }

// ex3_4_6:
//         movl    (%rdi), %eax
//         movw    %ax, (%rsi)
//         ret
// typedef unsigned src_t;
// typedef unsigned short dst_t;

// long ex3_4_6(src_t* sp ,dst_t* dp)
// {
//     *dp = (dst_t)*sp;
}